Створення проекту з елементами графіки.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Автоматизовані Системи Управління

Інформація про роботу

Рік:
2007
Тип роботи:
Розрахунково - графічна робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-312
Варіант:
18

Частина тексту файла

Міністерство освіти та науки України НУ «Львівська політехніка» Кафедра АСУ Графіко - розрахункова робота по курсу Об’єктно орієнтоване програмування на тему: "Створення проекту з елементами графіки" Варіант № 18 «Зірки мерехтять, місяць пливе.» Виконав: ст.гр. КН-312 Прийняла: доц. Дронюк І.М. м. Львів – 2007р. Створення проекту з елементами графіки Варіант № 18 «Зірки мерехтять, місяць пливе.» ЗАВДАННЯ: Створити проект Delphi для побудови рухомих графічних зображень. Основні елементи зображення розглядати як об'єкти класів, які необхідно ввести та описати. Рух або зміну об'єктів реалізувати за допомогою відповідних методів класів. Рух більшості об'єктів здійснюється зліва направо, а тоді повторюється або змінює напрямок. Програма має реагувати на керуючі клавіші: 1) для видачі підказки; [F1] 2) для зупинки (паузи) та продовження руху; [Space] 3) старт із початкового стану; [Home] 4) збільшення-зменшення об'єкта; [Arrow Up/Down] 5) уповільнення-прискорення руху; [Arrow left/Right] 6) завершення програми. [Escape] Варіанти 18. Зірки мерехтять, місяць пливе. Текст програми: moon_and_stars.pas unit moon_and_stars; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; procedure FormPaint(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses ClassMoon_Stars; var TMS: TMoonAndStars; x1,x2,y1,y2:integer; msh:double; procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Brush.Color:=clWhite; Canvas.Pen.Color:=clWhite; TMS.PolyStar(1000,true);end; procedure TForm1.FormCreate(Sender: TObject); begin Form1.Color:=clBlack; y2:=Form1.ClientHeight div 2 + 40; y1:=Form1.ClientHeight div 2 - 40; x1:=0; x2:=60; Timer1.Interval:=50; msh:=0.5;end; procedure TForm1.Timer1Timer(Sender: TObject); begin TMS.Moon(x1,x2,y1,y2,false,msh); TMS.PolyStar(1500,false); if x2<Form1.ClientWidth then begin x1:=x1+1; x2:=x2+1; end; if x2>=Form1.ClientWidth then begin x1:=0; x2:=60; end; TMS.Moon(x1,x2,y1,y2,true,msh); TMS.PolyStar(10,true);end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key=VK_Right) and (Timer1.Interval>10) then Timer1.Interval:=Timer1.Interval-2; if (Key=VK_Left) and (Timer1.Interval<600) then Timer1.Interval:=Timer1.Interval+2; if (Key=VK_Up) and (msh<7.0) then begin msh:=msh+0.5*msh; end; if (Key=VK_Down) and (msh>0.5) then begin TMS.Moon(x1,x2,y1,y2,false,msh); msh:=msh-0.5*msh; end; if (Key=VK_ESCAPE) then Application.Terminate; if (Key=VK_SPACE) then Timer1.Interval:=not Timer1.Interval; if (Key=VK_HOME) then begin Form1.Refresh; x1:=0; x2:=60; Timer1.Interval:=50; msh:=0.5; end; if (Key=VK_F1) then MessageDlg('[Стрілка вліво] -> сповільнення руху місяця'+#13+ '[Стрілка вправо] -> пришвидшення руху місяця'+#13+ '[Стрілка вгору] -> збільшення місяця'+#13+ '[Стрілка вниз] -> зменшення місяця'+#13+ '[Space] -> зупинка/продовження руху'+#13+ '[Home] -> повернення на початок'+#13+ '[Escape] -> вихід',mtInformation,[mbOk],1); end; end. ClassMoon_Stars.pas aunit ClassMoon_Stars; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Math, moon_and_stars; type TMoonAndStars = class constructor Create; procedure PolyStar(kil:integer;trying:boolean); procedure Moon(x1,x2,y1,y2:integer;rezhym:boolean;msh:real);end; implementation constructor TMoonAndStars.Create; beginend; procedure TMoonAndStars.PolyStar(kil:integer;trying:boolean); var i,x0,y0:integer; begin randomize; for i:=0 to kil do begin ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини